package crawler.web.engine;

import java.io.FileNotFoundException;

import com.sleepycat.je.DatabaseException;

import crawler.web.beans.CrawlURL;
import crawler.web.utils.URLDPL;

/**
 * @author waynechen Feb 7, 2012 10:03:10 PM
 */
public class BDBURLFilter implements VisitedFrontier {

	private URLDPL dpl;

	public BDBURLFilter(String dir) throws DatabaseException, FileNotFoundException {
		dpl = new URLDPL(dir);
	}

	@Override
	public void add(CrawlURL value) {
		add(value.getOriUrl());
	}

	@Override
	public void add(String value) {
		dpl.save(value);
	}

	@Override
	public boolean contains(CrawlURL value) {
		return contains(value.getOriUrl());
	}

	@Override
	public boolean contains(String value) {
		return dpl.contains(value);
	}

	@Override
	public boolean findAndAdd(String url) {
		boolean contains = contains(url);
		add(url);
		return contains;
	}

}
//
//
//
//
//
//
//
//
//
//
//
//
//
//
//